#include <bits/stdc++.h>

using namespace std;

const int N = 110;
int n,m;
char g[N][N];

// @代表已经感染，.代表正常，!将会被感染
// 思路：
// 1. 遍历每个点，如果是@，那么将会被感染，将其变为!
// 2. 遍历每个点，如果是!，那么将会被感染，将其变为@
// 3. 将上面的过程重复m-1次，最后得到的结果就是答案
void input() {
    cin >> n;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cin >> g[i][j];
        }
    }
    cin >> m;
}

void dt() {
    for (int day = 1;day <=m-1 ;day++) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (g[i][j] == '@') {
                    if(g[i+1][j] == '.') g[i+1][j] = '!';
                    if(g[i-1][j] == '.') g[i-1][j] = '!';
                    if(g[i][j+1] == '.') g[i][j+1] = '!';
                    if(g[i][j-1] == '.') g[i][j-1] = '!';
                }
            }
        }
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (g[i][j] == '!') g[i][j] = '@';
            }
        }
    }
}

void output() {
    int total = 0;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (g[i][j] == '@') total++;
        }
    }
    cout << total << endl;
}

int main() {
    input();
    dt();
    output();
}